package com.zte.market.mapper;

import com.zte.market.pojo.Order;
import com.zte.market.pojo.otherPojo.DateTemp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


import java.util.List;

/**
 * 订单
 * @Auther: 许月
 * @Date: 2022/10/05/19:19
 */
@Mapper
public interface OrderMapper {
    /**
     * 通过各种参数 查询订单列表
     * @return
     */
    List<Order> queryAllByParams(@Param("orderId") String orderId ,
                                 @Param("customIdList") List<Integer> customIdList,
                                 @Param("dateTemp")DateTemp dateTemp,
                                 @Param("minPrice")Double minPrice,
                                 @Param("maxPrice")Double maxPrice,
                                 @Param("status")String status);

    /**
     * 获取所有订单信息
     * @return
     */
    List<Order> queryAll();

    /**
     * 通过订单编号获取 订单信息（用于订单的 查看详情和修改）
     * @param orderId
     * @return
     */
    Order queryById(@Param("orderId") String  orderId);

    /**
     * 根据操作人id获取订单
     * @param operatorId
     * @return
     */
    List<Order> getAllByOperatorId(@Param("operatorId") Integer operatorId);

    /**
     * 根据 订单编号删除 订单
     * @param orderId
     * @return
     */
    Integer deleteByOrderid(@Param("orderId") String orderId);

    /**
     * 添加订单操作
     * @param order
     * @return
     */
    Integer addByOrder(@Param("order") Order order);

    /**
     * 修改订单操作
     * @param order
     * @return
     */
    Integer updateByOrder(@Param("order") Order order);


    /**
     * 通过 审核人id查询订单
     * @param checkid
     * @return
     */
    List<Order> queryAllBycheckid(@Param("checkid") Integer checkid);
}
